home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 095 / rfix0620.arc / BULLET6 < prev    next >
Text File  |  1988-06-20  |  43KB  |  1,012 lines

  1.           ============= Reported Bugs/Problems ==============
  2.  
  3. NOTE :   These fixes "ARE" part of the  downloadable  files on this system.
  4.          They  are  provided  in  several  different  ways.
  5.  
  6.          0620REXE.ARC contains a new copy of the affected .EXE file
  7.                       RBBS-PC.EXE.
  8.  
  9.          RBBS-EXE.ARC also contains the fixed version of the .EXE file
  10.                       plus the 0424 CONFIG.EXE.
  11.  
  12.          RFIX0620.ARC contains .MRG files used to update the files in the
  13.                       RBBS-SRC.ARC  file distributed on 03/27/88. This file
  14.                       also contains a batch  file  to  automatically  apply
  15.                       these  .MRG  files and recompile and link to generate
  16.                       an updated RBBS-PC.EXE file.
  17.  
  18.          0620-MRG.ARC contains merges to the 0424 version with RFIX0424
  19.                       applied - just the newest changes.
  20.  
  21. CONVENTIONS:
  22.          The temporary fixes are assigned numbers that  correspond  to  the
  23.          month,  day, and order in which they were reported.  The fixes are
  24.          dated (if there are any) following the problem  description.   The
  25.          lines   of   source   code  that  are  changed/modified/added  are
  26.          designated by the comment beginning in column 70 of "' TFMMDD#".
  27.  
  28. To download this file, go to the file subsystem and download the file BULLET6
  29. with the command "d;bullet6;x".
  30.  
  31. Summary of the temporary fixes to date:
  32.  
  33. Executable       BASIC
  34.  Program     Source Code   DATE          Cryptic Description of Problem
  35. -----------  ----------- --------  --------------------------------------------
  36. RBBS-PC.EXE  CPC16-1A     03/27/88  Released at 16:00 PST
  37. RBBS-PC.EXE  CPC16-1A     03/27/88  Hang after QMXFER transfer         TF032701
  38. RECONFIG.EXE              03/30/88  Does convert .DEF file correctly   TF033001
  39. RBBS-SRC.ARC              03/30/88  Some copies had CPC15-1C source    TF033002
  40. RBBS-PC.EXE  RBBSSUB2.BAS 03/30/88  Missing char. during wordwrap      TF033003
  41. RBBS-PC.EXE  RBBS-PC.BAS  03/30/88  Error in PUI with invalid command  TF033004
  42. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  Local DOORS does not work properly TF033101
  43. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  ESC logon locks up system          TF033102
  44. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  Snoop not on for local password    TF033103
  45. RBBS-PC.EXE  RBBSSUB2.BAS 03/31/88  Autodownloading fails              TF033104
  46. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  Coding clarification no impact     TF033105
  47. RBBS-PC.EXE  RBBS-VAR.BAS 04/03/88  Only supports 51 sub-directories   TF040301
  48. RBBS-PC.EXE               04/08/88  Subboard's can have unique RCTTY   TF040801
  49. RBBS-DOC.ARC              04/12/88  Documentation prints double pages  TF041201
  50. RBBS-PC.EXE  RBBSSUB3.BAS 04/12/88  Graphics bulletins not displayed   TF041202
  51. RBBS-PC.EXE  RBBS-PC.BAS  04/12/88  Msg. read info. updated too often  TF041203
  52. RBBS-PC.EXE  (all)        04/12/88  CTS for flow control not working   TF041204
  53. RBBS-PC.EXE  RBBS-VAR.BAS 04/16/88  SYSOP MENU does not blink          TF041602
  54. RBBS-PC.EXE  RBBS-PC.BAS  04/16/88  Read commands not executed         TF041603
  55. RBBS-PC.EXE  RBBS-PC.BAS  04/17/88  Wrong commands listed when invalid TF041701
  56. RBBS-PC.EXE  RBBS-PC.BAS  04/17/88  PASSWRDS searched too often        TF041702
  57. RBBS-PC.EXE  RBBSSUB2.BAS 04/17/88  Not giving back time in answerit   TF041703
  58. RBBS-PC.EXE  RBBSSUB2.BAS 04/17/88  Get trash chars on modem downshift TF041704
  59. RBBS-PC.EXE  RBBSSUB2.BAS 04/18/88  Lose chars in msg, carry over      TF041801
  60. RBBS-PC.EXE  RBBS-PC.BAS  04/18/88  Not editing blanks right in msgs   TF041802
  61. RBBS-PC.EXE  RBBS-PC.BAS  04/18/88  Can't leave private reply          TF041803
  62. RBBS-PC.EXE  RBBSSUB2.BAS 04/19/88  Handle invalid upload categories   TF041901
  63. RBBS-PC.EXE  RBBSSUB3.BAS 04/20/88  Support Graphic/Color DIR files    TF042001
  64. RBBS-PC.EXE  RBBS-PC.BAS  04/21/88  Get highest user record only once  TF042101
  65. RBBS-PC.EXE  RBBSSUB3.BAS 04/23/01  Avoid Error 5 on bad user record   TF042301
  66. RBBS-PC.EXE  RBBS-PC.BAS  04/24/88  New version                        TF042401
  67. RBBS-PC.EXE  RBBSSUB2.BAS 04/24/88  Avoid Device I/O error on ARC's    TF042402
  68. RBBS-PC.EXE  RBBSSUB3.BAS 04/24/88  Correct code to allow BLED's use   TF042403
  69. ---------------------------------- TF032701 -----------------------------------
  70.  
  71. RBBS-PC.BAS  03/27/88  When compiling RBBS-PC using QuickBASIC 4.0 RBBS-PC
  72. RBBSSUB1.BAS           hangs when returning from QMXFER.
  73. RBBSSUB2.BAS
  74. RBBSSUB3.BAS
  75. RBBS-PC.EXE
  76.  
  77. There  is  no fix for this problem.  We are extremely aware of this problem
  78. and have reported it to both MicroSoft and  The  Forbin  Project.   So  far
  79. neither have been able to provide any fix.
  80.  
  81. If you must
  82.       1.  compile,
  83.       2.  use QuickBASIC 4.0, and
  84.       3.  SHELL
  85.  
  86.       then "DO NOT USE QMXFER"!
  87.  
  88. The  problem  appears  to  be  an  incompatability between QuickBASIC 4.0's
  89. handling of the SHELL process and the code generated by  the  TURBO  Pascal
  90. compiler   --   the   compiler   used    to    generate    QMXFER.     This
  91. problem can be avoided by EXITing to the external protocol driver QMXFER.
  92.  
  93. ---------------------------------- TF033001 -----------------------------------
  94.  
  95. RECONFIG.EXE  03/30/88 The RECONFIG program offered (in RBBS-UTL.ARC)  from
  96.                        4:00PM  PST  03/27/88 until 11:00PM PST 03/30/88 did
  97.                        not work  correctly.  RBBS-UTL.ARC  was  updated  at
  98.                        11:00PM   PST  03/30/88  to  contain  a  functioning
  99.                        version.
  100.  
  101. Fix:  Make sure the two files in RECONFIG.EXE are as follows:
  102.  
  103. Filename        Length   Method    Date      Time
  104. --------        ------   ------    ----      ----
  105. RECONFIG.DOC      2968  Crunched   03-03-88  12:58:10
  106. RECONFIG.EXE     63092  Squashed   03-29-88  22:39:30
  107.  
  108. ---------------------------------- TF033002 -----------------------------------
  109.  
  110. RBBS-SRC.ARC  03/30/88 The RBBS-SRC.ARC file available for  downloading  on
  111.                        Jon   Martin's   board   between 4:00pm PST 03/27/88
  112.                        until 11:00 PM PST 03/30/88 contained  the  CPC15-1C
  113.                        source code.
  114.  
  115. Fix:  Make sure the eight .BAS files in RBBS-SRC.ARC are as follows:
  116.  
  117. Filename        Length   Method    Date      Time
  118. --------        ------   ------    ----      ----
  119. CNFG-SUB.BAS     87168  Crunched   03-25-88  14:51:06
  120. CNFG-VAR.BAS     11392  Crunched   03-25-88  14:47:28
  121. CONFIG.BAS      170562  Crunched   03-26-88  15:46:12
  122. RBBS-PC.BAS     213760  Crunched   03-25-88  15:04:22
  123. RBBS-VAR.BAS     14976  Crunched   03-26-88  00:25:54
  124. RBBSSUB1.BAS     55040  Crunched   03-25-88  15:05:32
  125. RBBSSUB2.BAS    128000  Crunched   03-25-88  15:06:50
  126. RBBSSUB3.BAS    173696  Crunched   03-25-88  15:08:16
  127.  
  128. ---------------------------------- TF033003 -----------------------------------
  129.  
  130. RBBSSUB2.BAS  03/30/88 When  entering  a  message, sometimes a character will be
  131. RBBS-PC.EXE            dropped when wrapping the last  word  down  to  the  next
  132.                        line,  and  sometimes  a  character  will be dropped when
  133.                        typing fast.
  134.  
  135. Fix:  in TF041801
  136.  
  137. ---------------------------------- TF033004 -----------------------------------
  138.  
  139. RBBS-PC.BAS  03/30/88  When using the programmable user interface and an invalid
  140. RBBS-PC.EXE            command is entered, RBBS-PC displays the underlying
  141.                        symbols for valid commands rather than the symbols used
  142.                        in the PUI.
  143.  
  144. Fix:  in TF041701
  145.  
  146. ---------------------------------- TF033101 -----------------------------------
  147.  
  148. RBBS-PC.BAS  03/31/88  Local DOORS does not work properly.
  149. RBBS-PC.EXE
  150.  
  151. Change the following lines in RBBS-PC.BAS
  152.  
  153. 150 IF SUB.BOARD THEN _
  154.        GOSUB 12987 : _
  155.        GOSUB 5135 : _
  156.        GOTO 165
  157.     SYSOP.AVAILABLE = VAL(MID$(MESSAGE.RECORD$,32,2))
  158.     SYSOP.ANNOY = VAL(MID$(MESSAGE.RECORD$,34,2))
  159.     SYSOP.NEXT = VAL(MID$(MESSAGE.RECORD$,36,2))
  160.     PRINTER = VAL(MID$(MESSAGE.RECORD$,38,2))
  161.     IF TURN.PRINTER.OFF THEN _
  162.        PRINTER = FALSE
  163.     EXIT.TO.DOORS = VAL(MID$(MESSAGE.RECORD$,40,2))
  164.     EIGHT.BIT = VAL(MID$(MESSAGE.RECORD$,42,2))
  165.     BPS = VAL(MID$(MESSAGE.RECORD$,44,2))
  166.     SNOOP = VAL(MID$(MESSAGE.RECORD$,58,2))
  167.     MID$(MESSAGE.RECORD$,57,1) = "I"
  168.     PRIVATE.DOOR = VAL(MID$(MESSAGE.RECORD$,72,2))
  169.     MID$(MESSAGE.RECORD$,72,2) = STR$(FALSE)
  170.     LOCAL.USER = VAL(MID$(MESSAGE.RECORD$,101,2))                    ' TF033101
  171.     IF EXIT.TO.DOORS OR PRIVATE.DOOR THEN _
  172.        TURBO.LOGON = TRUE
  173.     PUT 1,NODE.RECORD.INDEX
  174.     GOSUB 12985
  175.  
  176. 175 GOSUB 5344
  177.     IF DIR.CATEGORY.FILE$ <> PREV.DIRCAT$ THEN _
  178.        PREV.DIRCAT$ = DIR.CATEGORY.FILE$ : _
  179.        CALL CTLINES (MAX.ENTRIES) : _
  180.        REDIM CATEGORY.NAME$(MAX.ENTRIES),CATEGORY.CODE$(MAX.ENTRIES),_
  181.              CATEGORY.DESC$(MAX.ENTRIES) : _
  182.        CALL INITFMS (CATEGORY.NAME$(),CATEGORY.CODE$(), _
  183.                      CATEGORY.DESC$(),NUM.CATEGORIES)
  184.     LOCAL.USER.MODE = (RIGHT$(COM.PORT$,1) < "1")
  185.     REMOTE.ECHO = (DEFAULT.ECHOER$ = "R" AND NOT LOCAL.USER.MODE)
  186.     CALL BRKFNAME (CALLERS.FILE$,DRV$,X$,Y$,TRUE)
  187.     NODE.WORK.FILE$ = DRV$ + _
  188.                       "NODE" + _
  189.                       NODE.ID$ + _
  190.                       "WRK.BAT"
  191.     SECONDS.PER.SESSION! = MINUTES.PER.SESSION! * 60
  192.     IF NOT LOCAL.USER.MODE THEN _                                    ' TF033101
  193.        IF NOT EXIT.TO.DOORS THEN _                                   ' TF033101
  194.           GOTO 180 _                                                 ' TF033101
  195.        ELSE IF NOT LOCAL.USER THEN _                                 ' TF033101
  196.                GOTO 180                                              ' TF033101
  197.     LOCAL.USER = TRUE
  198.     BPS = -7
  199.     BAUD.TEST = 19200
  200.     EIGHT.BIT = TRUE
  201.     SNOOP = TRUE
  202.     RECYCLE.TO.DOS = TRUE
  203.     IF EXIT.TO.DOORS THEN _
  204.        CALL AMORPM : _
  205.        CALL READPROF : _
  206.        GOTO 410
  207.     GOSUB 178
  208.     GOTO 345
  209.  
  210. 836 IF LOCAL.USER THEN _
  211.        TALK.TO.MODEM.AT$ = "19200" : _                               ' TF033101
  212.        BAUD.PARITY$ = "19200 BAUD,N,8,1" : _                         ' TF033101
  213.        SNOOP = TRUE : _
  214.        LINE.FEEDS = TRUE : _
  215.        A = INSTR(TRANSFER.OPTIONS$,CARRIAGE.RETURN$) : _
  216.        IF A > 0 THEN _
  217.           MID$(TRANSFER.OPTIONS$,A,1) = " "
  218.  
  219. ---------------------------------- TF033102 -----------------------------------
  220.  
  221. RBBS-PC.BAS  03/31/88  Error reports appear on SYSOP's screen that are
  222. RBBS-PC.EXE            perfectly normal:
  223.  
  224. Change line 13000 in RBBS-PC.BAS as follows:
  225.  
  226. 13000 IF DEBUG THEN _                                                ' TF033102
  227.          A$ = "RBBS-PC DEBUG Error Trap Entry ERL=" + _
  228.               STR$(EL) + _
  229.               " ERR=" + _
  230.               STR$(EC) : _
  231.               CALL PRINTIT(A$) : _
  232.               D$ = A$ : _
  233.               GOSUB 1315
  234.       IF EL = 1905 AND EC = 63 THEN _
  235.          CLOSE 1 : _
  236.          KILL ACTIVE.MESSAGE.FILE$ : _
  237.          GOTO 5350
  238.       IF EL = 4371 AND EC = 6 THEN _
  239.          GOTO 1200
  240.       IF EL =  4740 THEN _
  241.          GOTO 4745
  242.       IF EL =  5151 AND EC = 62 THEN _
  243.          CALL UPDTCALR (PASSWORDS.FILE$ + " bad format!",2) : _
  244.          GOTO 5160
  245.       IF EL =  7130 AND EC = 53 THEN _
  246.          GOTO 7260
  247.       IF EL = 20242 AND EC = 62 THEN _
  248.          CALL UPDTCALR (FILESEC.FILE$ + " bad format!",2) : _
  249.          GOTO 20247
  250.       IF EL = 20262 THEN _
  251.          A$ = "<Download aborted>" : _
  252.          DOWNLOAD.COMPLETED = FALSE : _
  253.          GOTO 20390
  254.       IF EL = 20452 AND EC = 53 THEN _
  255.          GOTO 20451
  256.       IF EL = 20560 AND EC = 67 THEN _
  257.          GOTO 20451
  258.       IF EL = 20560 AND EC = 70 THEN _
  259.          IF VAL(FREE.SPACE$) > 1999 THEN _
  260.             GOTO 20610 _
  261.          ELSE CALL QTPUT ("No room for uploads. Try tomorrow.",1) : _
  262.               GOTO 5160
  263.       IF EL = 20620 THEN _
  264.          GOTO 20670
  265.       IF EL = 20650 THEN _
  266.          GOTO 20670
  267.       IF EL = 20736 AND EC = 53 THEN _
  268.          GOTO 5160
  269.       IF EL = 20900 AND EC = 75 THEN _
  270.          GOTO 21230
  271.       IF EL = 20900 AND EC = 70 THEN _
  272.          CALL QTPUT ("No room for uploads. Try tomorrow.",1) : _
  273.          GOTO 21230
  274.       IF EL = 21131 THEN _
  275.          EC = 0 : _
  276.          GOTO 21230
  277.       IF EL = 21480 THEN _
  278.          CALL LOGERROR : _
  279.          IF EC = 57 THEN _
  280.             CALL QTPUT("Error reading file.  Aborting download",1) : _
  281.             DOWNLOAD.COMPLETED = FALSE : _
  282.             GOTO 21230
  283.  
  284. ---------------------------------- TF033103 -----------------------------------
  285.  
  286. RBBS-PC.BAS  03/31/88  Prompt for password for local SYSOP does not appear.
  287. RBBS-PC.EXE
  288.  
  289. Change line 822 in RBBS-PC.BAS as follows:
  290.  
  291. 822 LOCATE 24,1
  292.     CALL FINDTIME (USER.LOGON.TIME!)
  293.     CALL MODEMPUT (MODEM.GO.OFFHOOK.COMMAND$)
  294.     LOCAL.USER = TRUE
  295.     SNOOP = TRUE                                                     ' TF033103
  296.     WAIT.BEFORE.DISCONNECT = 32400
  297.     BPS = -7
  298.     CALL MUZAK (2)
  299.     IF LOCAL.PASSWORD$ = "NONE" THEN _
  300.        GOTO 828
  301.     D$ = "Enter PASSWORD (dots echo) "
  302.     GOSUB 1310
  303.     Z$ = ""
  304.     INKEYS.PRESSED = 0
  305.  
  306. ---------------------------------- TF033104 -----------------------------------
  307.  
  308. RBBSSUB2.BAS 03/31/88  Autodownload sends file name with a drive/path rather
  309. RBBS-PC.EXE            than just the file name.
  310.  
  311. Change 20296 in RBBSSUB2.bas as follows:
  312.  
  313. 20296 CALL FLUSHCOM(Y$)                  ' CLEAR THE COMM BUFFER OF GARBAGE
  314.       IF SUBROUTINE.PARAMETER = -1 THEN _
  315.          EXIT SUB
  316.       CALL PUTCOM (ESCAPE$+"OD")         ' SEND "ALERT" STRING
  317.       IF SUBROUTINE.PARAMETER = -1 THEN _
  318.          EXIT SUB
  319.       IF ABORT = TRUE THEN _
  320.          GOTO 20306
  321.       CALL LPRNT("Sending FILENAME -- ",1)
  322.       CALL LPRNT(RETURN.LINE.FEED$ + CHR$(9),0)
  323.       CALL DELAYIT (1)                   ' WAIT 1 SECOND FOR SETUP
  324. '
  325. '               SEND ONE CHARACTER AT A TIME
  326. '
  327.       CALL BRKFNAME (B$(DWN.INDEX),X$,A$,Y$,TRUE)                    ' TF033104
  328.       A$ = A$ + Y$ + "=X"                                            ' TF033104
  329.       FOR X = 1 TO LEN(A$)
  330.          CALL PUTCOM (MID$(A$,X,1))     ' SEND 1 CHARACTER
  331.          IF SUBROUTINE.PARAMETER = -1 THEN _
  332.             EXIT SUB
  333.          IF ABORT = TRUE THEN _
  334.             GOTO 20306
  335.          CALL LPRNT(MID$(A$,X,1),0)     ' DISPLAY IF NEEDED
  336.          IF TIMER < 86390! THEN _
  337.             DELAY! = TIMER + 10 _
  338.          ELSE DELAY! = TIMER - 86400! + 10 ' SET MAXIMUM TIME TO WAIT FOR REPLY
  339.          WHILE EOF(3)
  340.             IF TIMER > DELAY! THEN _
  341.                GOTO 20300     ' IF NO ECHO, CANCEL FILENAME TRANSFER
  342.          WEND                 ' JUMP OUT IF CHARACTER IS RECEIVED
  343.  
  344. ---------------------------------- TF033105 -----------------------------------
  345.  
  346. RBBS-PC.BAS  03/31/88  Coding clarification only.  No impact on program
  347. RBBS-PC.EXE            execution.
  348.  
  349. Change line 821 in RBBS-PC.BAS as follows:
  350.  
  351. 821 CALL TRIM (CI$)
  352.     IF PRIVATE.DOOR AND _
  353.        TRANSFER.FUNCTION = 3 THEN _
  354.        TRANSFER.FUNCTION = 0 : _
  355.        GOTO 832
  356.     IF REGISTRATION.PROGRAM$ = "NONE" OR _
  357.        REGISTRATION.PROGRAM$ = "" THEN _
  358.        GOTO 832
  359.     B$ = REGISTRATION.PROGRAM$                                       ' TF033105
  360.     TRANSFER.FUNCTION = 3                                            ' TF033105
  361.     CALL XFRETURN
  362.  
  363. ---------------------------------- TF040801 -----------------------------------
  364. RBBSSUB1.BAS 04/02/88  When a "subboard" is entered the parameters for the .BAT
  365.                        files to invoke (RCTTY.BAT and RBBS.BAT) can be different
  366.                        than the primary .DEF file that the "subboard" is running
  367.                        under.
  368.  
  369. Fix:  Always check using CONFIG to make sure that parameters 103 and 104 in the
  370.       .DEF files for each "subboard" match the ones in the main RBBS-PC .DEF
  371.       file -- at least 104 should be the same.  If 103 is different, make sure
  372.       the .BAT file that you are running RBBS-PC out of has the appropriate
  373.       number of IF statements to find the various files that are built by the
  374.       different "subboards" to invoke the "doors."
  375.  
  376. ---------------------------------- TF040301 -----------------------------------
  377. RBBS-VAR.BAS 04/02/88  Could only support 51 sub-directories when CPC15-1C
  378. RBBS-PC.EXE            supported 99.
  379.  
  380. Change this one line in RBBS-VAR.BAS: all other lines should stay the same!
  381.  
  382.     DIM SUBDIR$(99)                   ' Download Sub-Dirs 'NCR       ' TF040301
  383.  
  384. ---------------------------------- TF041201 -----------------------------------
  385.  
  386. RBBS-DOC.ARC 04/12/88  Got extra blank page when printed documentation, for
  387.                        every page.
  388.  
  389. Caused by putting in a formfeed and by Wordstar's filling in blank lines at
  390. bottom.   Solution is to delete at least one blank line at the bottom.
  391. Some versions of RBBS-DOC.ARC with the ".DK1" files dated 4/5/88 and times 20:46,
  392. 20:54, and 21:13 have had the page eject characters replaced with blanks --
  393. thus also bypassing the problem.
  394.  
  395. ---------------------------------- TF041202 -----------------------------------
  396. RBBSSUB3.BAS 04/12/88   Graphics bulletins are not being displayed.
  397. RBBS-PC.EXE
  398.  
  399. Change line 59530 in RBBSSUB3.BAS as follows:
  400.  
  401. 59530 Z$ = B$(ANS.INDEX)
  402.       CALL ALLCAPS (Z$)
  403.       IF INSTR(RETURN.ON$,Z$) THEN _  'check whether calling pgm wants
  404.          EXIT SUB
  405.       IF INSTR("LH?",Z$) THEN _       'check whether caller wants help
  406.          GOTO 59515
  407.       IF INSTR(Z$,".") > 0 THEN _
  408.          GOTO 59545
  409.       FILE.NAME$ = FRONT.OPT$ + _
  410.                    Z$
  411.       CALL BADFILE (FILE.NAME$,A)
  412.       IF A > 1 THEN _
  413.          GOTO 59547
  414.       FILE.NAME$ = FILE.NAME$ + _
  415.                    BACK.OPT$
  416.       CALL GRAPHIC (GR.DEFAULT$)                                     ' TF041202
  417.       IF OK THEN _
  418.          IF NOT REQUIRE.IN.MENU THEN _
  419.             EXIT SUB _
  420.          ELSE CALL WORDINFILE (CURRENT.MENU$,Z$,FOUND) : _
  421.               IF FOUND THEN _
  422.                  EXIT SUB _
  423.               ELSE GOTO 59540
  424.       IF NOT VERIFY.IN.MENU THEN _
  425.          GOTO 59540
  426.       CALL WORDINFILE (CURRENT.MENU$,Z$,FOUND)  'verify against menu itself
  427.       IF FOUND THEN _
  428.          IF ALL.MENU.OK THEN _
  429.             EXIT SUB
  430.  
  431. ---------------------------------- TF041203 -----------------------------------
  432.  
  433. RBBS-PC.BAS  04/12/88   Last date read updated every time a message is read.
  434. RBBS-PC.EXE             Should be updated only when the message is to the
  435.                         person reading it.  Also, msg should tell caller
  436.                         whether mail receiver or not.
  437.  
  438. Make the following changes RBBS-PC.BAS:
  439.  
  440. 4561   FF = INSTR(MID$(MESSAGE.RECORD$,X),LEFT$(ACTIVE.USER.NAME$,22))
  441.        IF FF > 0 THEN _
  442.           X = LEN(ACTIVE.USER.NAME$) + FF : _
  443.           IF (FF < 7 OR MID$(MESSAGE.RECORD$,FF - 1,1) = " ") AND (X > 58 OR MID$(MESSAGE.RECORD$,X,1) = " ") THEN _
  444.              UH = TRUE _
  445.           ELSE IF FF < 37 THEN _
  446.                   X = 37 : _
  447.                   GOTO 4561
  448.        MSG.TO.CALLER = (UH AND (FF = 37)) OR _                       ' TF041203
  449.                        (MID$(MESSAGE.RECORD$,37,5) = "ALL  ")        ' TF041203
  450.        MSG.FROM.CALLER = UH AND (FF = 6)                             ' TF041203
  451.  
  452. 8050 MESSAGE.FROM$ = MID$(MESSAGE.RECORD$,6,31)
  453.      CALL TRIM (MESSAGE.FROM$)
  454.      IF LEN(MESSAGE.FROM$) < 23 THEN _
  455.         MESSAGE.FROM$ = MESSAGE.FROM$ + _
  456.                         SPACE$(23 - LEN(MESSAGE.FROM$))
  457.      A$ = "Msg # " + _
  458.           LEFT$(MESSAGE.RECORD$,5) + _
  459.           " Dated " + _
  460.           MID$(MESSAGE.RECORD$,68,8) + _
  461.           " " + _
  462.           MID$(MESSAGE.RECORD$,59,8)
  463.      IF USER.SECURITY.LEVEL >= SEC.CHANGE.MSG THEN _
  464.         A$ = A$ + _
  465.              "  Security:" + _
  466.              STR$(MESSAGE.SECURITY)
  467.      IF NOT RET THEN _
  468.         IF READ.MESSAGES THEN _
  469.            CALL QTPUT (A$,1): _
  470.            CALL QTPUT (" From: " + MESSAGE.FROM$,1) : _
  471.            CALL QTPUT ("   To: " + MESSAGE.TO$,1) : _
  472.            A$ = "   Re: " + _
  473.                 SUBJECT$ _
  474.         ELSE A$ = LEFT$(MESSAGE.RECORD$,5) + _
  475.                   " " + _
  476.                   MID$(MESSAGE.RECORD$,68,8) + _
  477.                   " " + _
  478.                   LEFT$(MESSAGE.TO$,19) + _
  479.                   " " + _
  480.                   LEFT$(MESSAGE.FROM$,18) + _
  481.                   " " + _
  482.                   LEFT$(SUBJECT$,24) : _
  483.              GOTO 8080
  484.      IF QUICK.SCAN.MESSAGES OR _
  485.         SCAN.MESSAGES THEN _                                         ' TF041203
  486.            GOTO 8080                                                 ' TF041203
  487.      IF ((NOT SYSOP) AND NOT (MSG.FROM.CALLER)) THEN _               ' TF041203
  488.         GOTO 8077
  489.  
  490. 8076 IF MID$(MESSAGE.RECORD$,123,6) = STRING$(6,0) OR _
  491.         MID$(MESSAGE.RECORD$,123,6) = SPACE$(6) THEN _
  492.            A$ = A$ + " -Not Received-" : _                           ' TF041203
  493.            GOTO 8077                                                 ' TF041203
  494.      YY$ = RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,126,1))),2) + _
  495.            ":" + _
  496.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,127,1))),2) + _
  497.            ":" + _
  498.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,128,1))),2)
  499.      FOR I = 1 TO 8
  500.         IF MID$(YY$,I,1) = " " THEN _
  501.            MID$(YY$,I,1) = "0"
  502.      NEXT
  503.      YY$ = YY$ + _
  504.            " on "
  505.      YY$ = YY$ + _
  506.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,123,1))),2) + _
  507.            "/" + _
  508.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,124,1))),2) + _
  509.            "/" + _
  510.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,125,1))),2)
  511.      FOR I = 13 TO 20
  512.         IF MID$(YY$,I,1) = " " THEN _
  513.            MID$(YY$,I,1) = "0"
  514.      NEXT
  515.      A$ = A$ + _
  516.           " Received " + _                                           ' TF041203
  517.           YY$
  518.  
  519. 8077 IF MSG.FROM.CALLER OR (NOT MSG.TO.CALLER) THEN _                ' TF041203
  520.         GOTO 8080                                                    ' TF041203
  521.      YY$ = DATE$
  522.      WK$ = TIME$
  523.      MID$(MESSAGE.RECORD$,123,6) = CHR$(VAL(MID$(YY$,1,2))) + _
  524.                                    CHR$(VAL(MID$(YY$,4,2))) + _
  525.                                    CHR$(VAL(MID$(YY$,9,2))) + _
  526.                                    CHR$(VAL(MID$(WK$,1,2))) + _
  527.                                    CHR$(VAL(MID$(WK$,4,2))) + _
  528.                                    CHR$(VAL(MID$(WK$,7,2)))
  529.      GOSUB 12986
  530.      PUT 1,M(MESSAGE.DIM.INDEX,1)
  531.      GOSUB 12987
  532.  
  533. ---------------------------------- TF041204 -----------------------------------
  534. RBBS-PC.BAS  04/12/88   Using CTS for flow control just does not work.
  535. RBBSSUB1.BAS            Modem will signal not clear to send, but data sent
  536. RBBSSUB2.BAS            anyway.
  537. RBBSSUB3.BAS
  538. RBBS-PC.EXE
  539.  
  540. Problem is  caused  by  constant  re-reading  of  registers  to  check  carrier.
  541. Temporary fix is to use XON/XOFF for flow control, which does work.
  542.  
  543. ---------------------------------- TF041602 -----------------------------------
  544.  
  545. RBBS-VAR.BAS 04/16/88   Opening SYSOP screen does not blink even when specify
  546. RBBS-PC.EXE             in config that using ANSI.
  547.  
  548. Add the following variable to RBBS-VAR.BAS
  549.  
  550.         DOSANSI, _                                                   ' TF041602
  551.  
  552. ---------------------------------- TF041603 -----------------------------------
  553.  
  554. RBBS-PC.BAS  04/16/88    RBBS-PC returns straight to prompt when R)ead
  555. RBBS-PC.EXE              specified.
  556.  
  557. Caused  when  earlier  processing  left  a  large  numeric value in second input
  558. positon.  Typically happens when using FMS, have  short  list  of  files,  press
  559. ENTER to quit, then R)ead.
  560.  
  561. Change RBBS-PC.BAS as follows:
  562.  
  563. 4371 IF MESSAGES.SELECTED.INDEX <= NUMBER.MESSAGES.SELECTED THEN _   ' TF041603
  564.         CALL CHECKINT (B$(MESSAGES.SELECTED.INDEX)) : _              ' TF041603
  565.         IF EC <> 0 THEN _                                            ' TF041603
  566.            EL = 4371 : _                                             ' TF041603
  567.            GOTO 13000 _                                              ' TF041603
  568.         ELSE CURRENT.MESSAGE = TESTED.INTEGER.VALUE : _              ' TF041603
  569.              GOTO 4415                                               ' TF041603
  570.  
  571. ---------------------------------- TF041701 -----------------------------------
  572. RBBS-PC.BAS  04/17/88   When unknown command typed, RBBS-PC will list
  573. RBBS-PC.EXE             the underlying letters for commands rather
  574.                         than the ones the user should use.
  575.  
  576. No longer list any letters at all.  Just tell unknown and echo.
  577. Make the following change to RBBS-PC.BAS.
  578.  
  579. 1235 Z$ = B$(1)
  580.      IF LEN(Z$) < 1 THEN _
  581.         GOTO 1230
  582.      CALL ALLCAPS (Z$)
  583.      CALL SRCHCMND (SUB.SECTION,FF)
  584.      IF FF < 1 THEN _
  585.         CALL QTPUT ("Unknown command <"+Z$+">",1) : _                ' TF041701
  586.         GOTO 1230
  587.  
  588. Delete line 1305 and make 1300 as follows:
  589.  
  590. 1300 CALL QTPUT ("Message base " + GRN$,1)
  591.      RETURN
  592. ' ***************************************************************************** ' TF041701
  593. ' * COMMON LOCAL DISPLAY PRINT                                                * ' TF041701
  594. ' ***************************************************************************** ' TF041701
  595.  
  596. ---------------------------------- TF041702 -----------------------------------
  597.  
  598. RBBS-PC.BAS  04/17/88   PASSWRDS file was being searched every time a
  599. RBBS-PC.EXE             questionnaire was answered.   Should have been
  600.                         searched only when security was adjusted.
  601.  
  602. Delete a line as follows in RBBS-PC.BAS:
  603.  
  604. 11520 QUESTIONNAIRE.ABORTED = FALSE
  605.       CALL FINDIT (FILE.NAME$)
  606.       IF NOT OK THEN _
  607.          RETURN
  608.       REDIM A$(256)
  609.       CALL ASKUSERS
  610.       IF ADJUSTED.SECURITY THEN _
  611.          GOSUB 12989 : _
  612.          LSET SECURITY.LEVEL$ = MKI$(USER.SECURITY.LEVEL) : _
  613.          GOSUB 9440 : _
  614.          GOSUB 12991 : _
  615.          CALL CALLOPT : _
  616.          GOSUB 5135
  617.       REDIM A$(ADIM)
  618.       IF SUBROUTINE.PARAMETER = -1 THEN _
  619.          RETURN 10595                                                ' TF041702
  620.       RETURN
  621. '
  622. ' *****************************************************************************
  623. ' *  A - COMMAND FROM 5- USER MAINTENANCE OPTIONS (ADD USER)                  *
  624. ' *****************************************************************************
  625. '
  626.  
  627. ---------------------------------- TF041703 -----------------------------------
  628.  
  629. RBBSSUB2.BAS 04/17/88   Doubledos and Deskview not getting cpu cycles back
  630. RBBS-PC.EXE             when RBBS-PC waiting to answer phone.
  631.  
  632. Add a call to GOIDLE in RBBSSUB2.BAS as follows:
  633.  
  634. 270    IF RECYCLE.WAIT > 0 THEN _
  635.           IF TI! > INACTIVE.DELAY! THEN _
  636.              SUBROUTINE.PARAMETER = 8 : _
  637.              EXIT SUB
  638.        CALL FLUSHCOM (X$)
  639.        IF LEN(X$) > O THEN _
  640.           MODEM.RESPONSE$ = MODEM.RESPONSE$ + X$ : _
  641.           RING.DETECTED = (INSTR(MODEM.RESPONSE$,"RING") > 0) : _
  642.           CONNECT.DETECTED = (INSTR(MODEM.RESPONSE$,"ONNECT") > 0) : _
  643.           NO.CALL = (NOT RING.DETECTED) AND (NOT CONNECT.DETECTED)
  644.     CALL GOIDLE                                                      ' TF041703
  645.     WEND
  646.     IF NOT RINGBACK THEN _
  647.        IF CONNECT.DETECTED THEN _
  648.           GOTO 321
  649.     IF REQUIRED.RINGS = 0 THEN _
  650.        CALL DELAYIT (3) : _
  651.        GOTO 321
  652. '
  653. ' *****************************************************************************
  654. ' * PREPARE TO ANSWER THIS CALL ON A SPECIFIED NUMBER OF RINGS (S0 = 254) OR  *
  655. ' * THE CALL AFTER THIS CALL ON A SPECIFIED NUMBER OF RINGS (S0 = 255) --     *
  656. ' * "RING BACK."                                                              *
  657. ' *****************************************************************************
  658. '
  659.  
  660. ---------------------------------- TF041704 -----------------------------------
  661.  
  662. RBBSSUB2.BAS 04/17/88   When some modems have to answer phone at different
  663. RBBS-PC.EXE             baud rate that what opened at, trash characters
  664.                         appeared on the first name line.   Especially
  665.                         prevalent on Everex modems.
  666.  
  667. Lengthen the delay by making the following change in RBBSSUB2.BAS:
  668.  
  669. 323 SUBROUTINE.PARAMETER = -10
  670.     CALL CARRIER
  671.     IF SUBROUTINE.PARAMETER AND _
  672.        TI! < CONNECT.DELAY! THEN _
  673.        GOTO 322
  674.     IF SUBROUTINE.PARAMETER THEN _
  675.        SUBROUTINE.PARAMETER = 4 : _
  676.        EXIT SUB
  677.     CALL DELAYIT (3)                                                 ' TF041704
  678.  
  679. ---------------------------------- TF041801 -----------------------------------
  680.  
  681. RBBSSUB2.BAS 04/18/88    E will appear on 1st message without having entered
  682. RBBS-PC.EXE              it.   Characters lost when type rapidly.  When word
  683.                          wrap, first character of word lost only to reappear
  684.                          as if command on msg edit line.
  685.  
  686. All  these problems are caused by a failure to properly discharge internal stack
  687. for  the  communication  port  that RBBS-PC uses to hold keystrokes typed at the
  688. same time others are being sent.  LINEEDIT routine  was  not  reading  from  the
  689. stack built up.
  690.  
  691. Make the following changes in RBBSSUB2.BAS:
  692.  
  693. 3732 IF COMMPORT.STACK$ <> "" THEN _                                 ' TF041801
  694.         X$ = LEFT$(COMMPORT.STACK$,1) : _                            ' TF041801
  695.         COMMPORT.STACK$ = RIGHT$(COMMPORT.STACK$,LEN(COMMPORT.STACK$)-1) : _ ' TF041801
  696.         GOTO 3738                                                    ' TF041801
  697.      IF NOT EOF(3) THEN _
  698.         GOTO 3736
  699.      CALL FINDTIME (TI!)
  700.      IF TI! > AUTO.LOGOFF! THEN _
  701.         WAIT.EXPIRED = TRUE : _
  702.         EXIT SUB
  703.  
  704. 3737 CALL GETCOM (X$)
  705. 3738 SEND.REMOTE = REMOTE.ECHO                                       ' TF041801
  706.  
  707. ---------------------------------- TF041802 -----------------------------------
  708.  
  709. RBBS-PC.BAS  04/18/88    Leading and trailing blanks dropped when trying
  710. RBBS-PC.EXE              to edit a line in a message.
  711.  
  712. Make the following change in RBBS-PC.BAS:
  713.  
  714. 2620 A$ = "Line #" + _
  715.           STR$(L) + _
  716.           " is:" + _
  717.           RETURN.LINE.FEED$ + _
  718.           A$(L)
  719.      GOSUB 12977
  720.      IF NOT EXPERT.USER THEN _
  721.         CALL QTPUT ("Search & replace",1)
  722.      A$ = "Search for" + _
  723.           PRESS.ENTER.EXPERT$
  724.      PARSE.OFF = TRUE                                                ' TF041802
  725.      GOSUB 12995
  726.      IF Q = 0 THEN _
  727.         GOTO 2300
  728.      X = INSTR(B$,";")                                               ' TF041802
  729.      IF X > 0 THEN _                                                 ' TF041802
  730.         X$ = LEFT$(B$,X-1) : _                                       ' TF041802
  731.         Y$ = RIGHT$(B$,LEN(B$)-X) : _                                ' TF041802
  732.         GOTO 2660                                                    ' TF041802
  733.      X$ = B$
  734.      A$ = "And replace by"
  735.      PARSE.OFF = TRUE                                                ' TF041802
  736.      GOSUB 12995
  737.      Y$ = B$
  738.  
  739. ---------------------------------- TF041803 -----------------------------------
  740.  
  741. RBBS-PC.BAS  04/18/88    A RE)ply to a message should always be possible
  742. RBBS-PC.EXE              but sometimes RBBS-PC refuses to allow the reply
  743.                          to be made private for non-SYSOPs.
  744.  
  745. Make the following change in RBBS-PC.BAS:
  746.  
  747. 2020 IF REPLY THEN _
  748.         FOUND = TRUE : _                                             ' TF041803
  749.         GOTO 2060
  750.      SUBJECT$ = ""
  751.      A$ = "To (Press [ENTER] for All)"
  752.      CALL SKIPLINE (1)
  753.      GOSUB 12995
  754.      IF LEN(B$) > 30 THEN _
  755.         A$ = "30 Char. Max" : _
  756.         GOSUB 12979 : _
  757.         GOTO 2020
  758.  
  759. ---------------------------------- TF041901 -----------------------------------
  760.  
  761. RBBSSUB2.BAS 04/19/88    When categorizing uploads using the File Managment
  762. RBBS-PC.EXE              System (FMS), incorrect categories would occasionally
  763.                          cause problems.
  764.  
  765. Make the following change in RBBSSUB2.BAS:
  766.  
  767. 20720 A$ = "Upload best fits what category (H=help)"
  768.       SUBROUTINE.PARAMETER = 1
  769.       CALL TGET
  770.       IF SUBROUTINE.PARAMETER = -1 THEN _
  771.          B$ = DEFAULT.CATEGORY.CODE$ : _
  772.          GOTO 20722
  773.       IF Q = 0 THEN _
  774.          GOTO 20719
  775.       CALL ALLCAPS (B$(1))
  776.       IF B$(1) = "H" OR _                                            ' TF041901
  777.          B$(1) = "*" OR _                                            ' TF041901
  778.          B$(1) = "?" THEN _                                          ' TF041901
  779.  
  780.          GOTO 20719
  781.       CALL CHKNARY (B$(1),CATEGORY.NAME$(),NUM.CATEGORIES,FOUND)
  782.       IF FOUND > 0 THEN _
  783.          Y$ = CATEGORY.CODE$(FOUND) : _
  784.          IF LEN(Y$) > 0 AND LEN(Y$) < 4 AND INSTR(Y$,",") = 0 THEN _
  785.             GOTO 20722
  786.       Y$ = ""
  787.       IF NOT LIMIT.SEARCH.TO.FMS THEN _
  788.          STREW.TO$ = DIRECTORY.PATH$ + _
  789.                      B$(1) + _
  790.                      "." + _
  791.                      DIRECTORY.EXTENTION$ : _
  792.          CALL FINDIT (STREW.TO$) : _
  793.          IF NOT OK THEN _
  794.             STREW.TO$ = "" _
  795.          ELSE GOTO 20722
  796.       CALL QTPUT ("No such category " + B$(1),1)
  797.       GOTO 20719
  798.  
  799. ---------------------------------- TF042001 -----------------------------------
  800.  
  801. RBBSSUB3.BAS 04/20/88    RBBS-PC would not check for graphic or color .DIR
  802. RBBS-PC.EXE              files, even if they were available and the user was
  803.                          able to view them.
  804.  
  805. Make the following change in RBBSSUB3.BAS
  806.  
  807. 58902 FILE.NAME$ = DIRECTORY.PATH$ + DIRECTORY.PREFIX$ + _           ' TF042001
  808.                     "." + DIRECTORY.EXTENTION$                       ' TF042001
  809.       GDEFAULT$ = MID$(" GC",GR + 1, 1)                              ' TF042001
  810.       CALL GRAPHIC (GDEFAULT$)                                       ' TF042001
  811.       CALL BUFFILE (FILE.NAME$)                                      ' TF042001
  812.       GOTO 58900
  813.       END SUB
  814. ---------------------------------- TF042101 -----------------------------------
  815. RBBS-PC.BAS  04/21/88  Avoid a possible conflict, by obtaining the highest user
  816. RBBS-PC.EXE            record number in only one place.
  817.  
  818. Make the following change in RBBS-PC.BAS:
  819.  
  820. 23000 GET 1,1
  821.       HIGH.MESSAGE.NUMBER = VAL(LEFT$(MESSAGE.RECORD$,8))
  822.       AUTO.ADD.SECURITY   = CVI(MID$(MESSAGE.RECORD$,9,2))
  823.       CALLS.TODATE! = VAL(MID$(MESSAGE.RECORD$,11,10))
  824.       CURRENT.USER.COUNT = VAL(MID$(MESSAGE.RECORD$,57,5))
  825. '     HIGHEST.USER.RECORD = VAL(MID$(MESSAGE.RECORD$,62,5))          ' TF042101
  826.       FIRST.MESSAGE.RECORD = VAL(MID$(MESSAGE.RECORD$,68,7))
  827.       NEXT.MESSAGE.RECORD = VAL(MID$(MESSAGE.RECORD$,75,7))
  828.       HIGHEST.MESSAGE.RECORD = VAL(MID$(MESSAGE.RECORD$,82,7))
  829.       NODES.IN.SYSTEM = VAL(MID$(MESSAGE.RECORD$,127))
  830.       IF LOCAL.USER.MODE AND NOT SYSOP THEN _
  831.          RETURN
  832.       IF NOT SYSOP AND NOT LOCAL.USER THEN _
  833.          RETURN
  834.       IF TEMP.SYSOP THEN _
  835.          RETURN
  836.       IF LAST.MESSAGE.READ < VAL(MID$(MESSAGE.RECORD$,123,4)) THEN _
  837.          LAST.MESSAGE.READ = VAL(MID$(MESSAGE.RECORD$,123,4))
  838.       LAST.MESSAGE.READ = - LAST.MESSAGE.READ * _
  839.                       (LAST.MESSAGE.READ <= HIGH.MESSAGE.NUMBER)
  840.       RETURN
  841. '
  842. ' *****************************************************************************
  843. ' *  UPDATE MESSAGE HEADER RECORD DATA                                        *
  844. ' *****************************************************************************
  845. '
  846. ---------------------------------- TF042301 -----------------------------------
  847. RBBSSUB3.BAS 04/23/88  Avoid incurring a BASIC "Error 5" due to the data in the
  848. RBBS-PC.EXE            user's record being corrupt.
  849.  
  850. Make the following change in RBBSSUB3.BAS:
  851.  
  852.       SUB COMPDATE (YY,MM,DD,RESULT!) STATIC
  853.       IF MM < 1 OR _                                                 ' TF042301
  854.          MM > 12 THEN _                                              ' TF042301
  855.          MM = 1                                                      ' TF042301
  856.       RESULT! = YY * 365.0 + _
  857.                 INT((YY - 1) / 4) + _
  858.                 (MM - 1) * 28 + _
  859.                 VAL(MID$("000303060811131619212426",(MM - 1) * 2 + 1,2)) - _
  860.                 ((MM > 2) AND ((YY MOD 4) = 0)) + _
  861.                 DD
  862.       END SUB
  863.  
  864. ---------------------------------- TF042401 -----------------------------------
  865.  
  866. RBBS-PC.BAS  04/24/88  Version ID change.
  867. RBBS-PC.EXE
  868.  
  869. Change line 105 in RBBS-PC.BAS as follows:
  870.  
  871. 105 VERSION.ID$ = "CPC16.1A with fixes through 04-24-88"             ' TF042401
  872.     XOFF$ = CHR$(19)
  873.     XON$ = CHR$(17)
  874.     INTERRUPT.ON$ = CHR$(11) + CANCEL$ + XOFF$ + XON$ + CARRIAGE.RETURN$
  875.  
  876. ---------------------------------- TF042402 -----------------------------------
  877. RBBSSUB2.BAS 04/24/88  Avoid incurring a BASIC "Device I/O Error" when viewing
  878. RBBS-PC.EXE            an ARC'ed file.
  879.  
  880. Make the following change in RBBSSUB2.BAS:
  881.  
  882. 20143 Z$ = B$(ARC.INDEX)
  883.       CALL ALLCAPS (Z$)
  884.       CALL BRKFNAME (Z$,DRV$,PREFIX$,EXT$,FALSE)
  885.       IF EXT$ = "" THEN _
  886.          Z$ = Z$ + _
  887.               ".ARC" _
  888.       ELSE IF EXT$ <> "ARC" THEN _
  889.               CALL QTPUT ("Only .ARC files can be viewed",1) : _
  890.               RETURN
  891.       FILE.NAME.HOLD$ = Z$
  892.       FILE.NAME$ = Z$
  893.       CALL BADFILE (PREFIX$,BAD.FILE.NAME.INDEX)                     ' TF042402
  894.       ON BAD.FILE.NAME.INDEX GOTO 20144,20146,20147                  ' TF042402
  895. 20144 CALL BADFILE (FILE.NAME$,BAD.FILE.NAME.INDEX)                  ' TF042402
  896.       ON BAD.FILE.NAME.INDEX GOTO 20145,20146,20147                  ' TF042402
  897. 20145 CALL ROTORSDIR (FILE.NAME$,SUBDIR$(),SUBDIR.COUNT + (NOT SYSOP)) ' TF042402
  898.       IF OK THEN _
  899.          GOTO 20148
  900.  
  901. ---------------------------------- TF042403 -----------------------------------
  902. RBBSSUB3.BAS 04/23/88  BLED can not be used with files that have an "*" as their
  903. RBBS-PC.EXE            first non-blank character (BLED assumes this is a BLED
  904.                        "comment" and deletes them when merging.
  905.  
  906. Make the following change in the subroutine EXPDATE within RBBSSUB3.BAS:
  907.  
  908.       SUB EXPDATE (REGISTRATION.DATE!,REGISTRATION.PERIOD,EXP.DATE$) STATIC
  909.       EXPIRE.DATE! = REGISTRATION.DATE! + REGISTRATION.PERIOD
  910.       EXPIRE.YEAR! = INT((EXPIRE.DATE! - EXPIRE.DATE! / 1461) / 365)
  911.       EXPIRE.DAY% = EXPIRE.DATE! - (EXPIRE.YEAR! * 365 + INT((EXPIRE.YEAR! -1)/4))
  912.       EXPIRE.MONTH% = -((EXPIRE.YEAR! MOD 4)<>0) * _
  913.                       (1 - (EXPIRE.DAY% > 31) - (EXPIRE.DAY% > 59) - _
  914.                       (EXPIRE.DAY% > 90) - (EXPIRE.DAY% >120) - _
  915.                       (EXPIRE.DAY% > 151) - (EXPIRE.DAY% > 181) - _
  916.                       (EXPIRE.DAY% > 212) - (EXPIRE.DAY% > 243) - _
  917.                       (EXPIRE.DAY% > 273) - (EXPIRE.DAY% > 304) - _
  918.                       (EXPIRE.DAY% > 334)) - ((EXPIRE.YEAR! MOD 4) = 0) * _
  919.                       (1 - (EXPIRE.DAY% > 31) - (EXPIRE.DAY% > 60) - _
  920.                       (EXPIRE.DAY% > 91) - (EXPIRE.DAY% >121) - _
  921.                       (EXPIRE.DAY% > 152) - (EXPIRE.DAY% > 182) - _
  922.                       (EXPIRE.DAY% > 213) - (EXPIRE.DAY% > 243) - _
  923.                       (EXPIRE.DAY% > 274) - (EXPIRE.DAY% > 305) - _
  924.                       (EXPIRE.DAY% > 335))
  925.       EXPIRE.DAY% = (EXPIRE.DAY% - ((EXPIRE.MONTH% - 1) * 28 + _
  926.         VAL(MID$("000303060811131619212426",(EXPIRE.MONTH% -1) * 2 + 1,2)))) + _ ' TF042403
  927.                     ((EXPIRE.MONTH% > 2) AND _
  928.                     ((EXPIRE.YEAR! MOD 4) = 0))
  929.       EXP.DATE$ = RIGHT$("0" + MID$(STR$(EXPIRE.MONTH%),2),2) + _
  930.                   "/" + _
  931.                   RIGHT$("0" + MID$(STR$(EXPIRE.DAY%),2),2) + _
  932.                   "/" + _
  933.                   RIGHT$(STR$(EXPIRE.YEAR!),2)
  934.       END SUB
  935.  
  936. ---------------------------------- TF062001 -----------------------------------
  937. RBBSSUB3.BAS 06/20/88  Questionnaires are no longer processed unless listed
  938. RBBS-PC.BAS            in MENUA.  Invalid questionnaire lines list only the
  939. RBBS-PC.EXE            first character of the invalid line.
  940.  
  941. Make the following changes in RBBS-PC.BAS.
  942.  
  943. 105 VERSION.ID$ = "CPC16.1A with fixes through 06-20-88"             ' TF062001
  944.     XOFF$ = CHR$(19)
  945.     XON$ = CHR$(17)
  946.     INTERRUPT.ON$ = CHR$(11) + CANCEL$ + XOFF$ + XON$ + CARRIAGE.RETURN$
  947.   ' ******************** Logon Error Message Table ****************************
  948.  
  949. 1401 CALL SUBMENU ("Which questionnaire(s), L)ist" + PRESS.ENTER.EXPERT$, _
  950.                    A1$,QUES.PATH$,".DEF","",USER.GRAPHIC.DEFAULT$,TRUE,FALSE,TRUE) ' TF062001
  951.      IF Q = 0 THEN _
  952.         RETURN
  953.      IF SUBROUTINE.PARAMETER = -1 THEN _
  954.         RETURN 10595
  955.      QUESTIONNAIRE.HOLD$ = Z$
  956.      GOSUB 11520
  957.      CLOSE 2
  958.      CALL UPDTCALR (QUESTIONNAIRE.HOLD$ + " questionnaire " + _
  959.         MID$("answeredaborted",1 - 8 * QUESTIONNAIRE.ABORTED,8),2)
  960.      ANS.INDEX = ANS.INDEX + 1
  961.      IF ANS.INDEX > LAST.INDEX THEN _
  962.         ANS.INDEX = 0
  963.      GOTO 1401
  964. '
  965. ' *****************************************************************************
  966. ' *             TOGGLE COMMAND (UTILITIES)                                    *
  967. ' *****************************************************************************
  968. '
  969.  
  970. Make the following change to RBBSSUB3.BAS.
  971.  
  972. 64113 IF LEFT$(A$(SCRIPT.INDEX),1) = "?" THEN _         ' QUESTION
  973.          A$ = MID$(A$(SCRIPT.INDEX),2) : _
  974.          SUBROUTINE.PARAMETER = 1 : _
  975.          CALL TGET : _
  976.          IF SUBROUTINE.PARAMETER = -1 THEN _
  977.             GOTO 64510 _
  978.          ELSE IF Q = 0 THEN _
  979.                  GOTO 64113 _
  980.               ELSE A$(SCRIPT.INDEX + 1) = "!" + _
  981.                                           B$ : _
  982.                    GOTO 64110
  983.       IF LEFT$(A$(SCRIPT.INDEX),2) = "=#" THEN _                     ' NUMERIC
  984.          GOSUB 64350 : _
  985.          GOTO 64110
  986.       IF LEFT$(A$(SCRIPT.INDEX),1) = "=" THEN _         ' DECISION
  987.          GOSUB 64300 : _
  988.          IF SUBROUTINE.PARAMETER = -1 THEN _
  989.             GOTO 64510 _
  990.          ELSE GOTO 64110
  991.       IF LEFT$(A$(SCRIPT.INDEX),1) = "-" THEN _         ' LOWER
  992.          ADJUSTED.SECURITY = -1 : _
  993.          USER.SECURITY.LEVEL = USER.SECURITY.LEVEL - _
  994.                                VAL(MID$(A$(SCRIPT.INDEX),2,5)) : _
  995.          GOTO 64110
  996.       IF LEFT$(A$(SCRIPT.INDEX),1) = "+" THEN _         ' RAISE
  997.          IF USER.SECURITY.LEVEL + VAL(MID$(A$(SCRIPT.INDEX),2,5)) _
  998.             <= MAXIMUM.SECURITY.LEVEL THEN _
  999.                ADJUSTED.SECURITY = -1 : _
  1000.                USER.SECURITY.LEVEL = USER.SECURITY.LEVEL + _
  1001.                                VAL(MID$(A$(SCRIPT.INDEX),2,5))
  1002.       IF LEFT$(A$(SCRIPT.INDEX),1) = "+" THEN _
  1003.          GOTO 64110
  1004.       A$ = "Invalid line.  Column 1 is <" + LEFT$(A$(SCRIPT.INDEX),1)+">.  Must be: * ? = + - > @" ' TF062001
  1005.       SUBROUTINE.PARAMETER = 5
  1006.       CALL TPUT
  1007.       IF SUBROUTINE.PARAMETER = -1 THEN _
  1008.          GOTO 64510
  1009.  
  1010. ======END OF TEMPORARY FIXES FOR RBBS-PC CPC16-1A AND CONFIG VERSION 16-1A=====
  1011.  
  1012.